Multimedia communication and presentation

ABSTRACT

The invention provides a method and system for entry and editing of multimedia objects for communication and presentation, associating multimedia objects with received sequences of keystroke or mouse action abbreviations. When an abbreviation is detected, the abbreviation is replaced with the associated multimedia object. Each multimedia object has editable properties, and each set of multimedia objects can be collected into an ensemble, which itself can have editable properties. One such ensemble property is a “theme,” which presents a variant of each multimedia object consistent with the theme.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent applicationSer. No. 10/764,835, filed Jan. 26, 2004, now U.S. Pat. No. 7,783,974,which is a continuation of U.S. application Ser. No. 09/053,098, filedon Apr. 1, 1998, now U.S. Pat. No. 6,684,211. The foregoing applicationsare hereby incorporated by reference into this disclosure in theirentirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to multimedia communication and presentation.

2. Related Art

In computer systems for communicating and presenting data, it isdesirable to communicate and present data in a multiplicity of media.Such communication is sometimes called “multimedia communication.” Forexample, these media can include text, sound, pictures, animation, andcombinations thereof. One advantage of multimedia communication is thatit can more vividly communicate messages to recipients.

One problem in the known art is that multimedia elements comprisesignificant amounts of data, and are therefore difficult to constructfrom “scratch” (that is, from basic elements) and difficult to enterinto a computer system. This problem is acute for pictures and similargraphical elements, which must generally be “captured” using videoequipment. For example, it would be desirable for users to be able toenter picture data into messages for sending, such as when usingelectronic chat or electronic mail systems. However, known electronicchat systems do not provide this capability, and known electronic mailsystems provide only techniques by which pictures that have already beencaptured using other equipment can be attached to electronic mailmessages and transmitted.

Accordingly, it would be advantageous to provide a system in whichmulti-media elements can easily be entered and modified, especially inreal time. This advantage is achieved in a system in which multimediaelements are associated with keystroke or mouse abbreviations so as tobe easily entered from a keyboard or mouse, and in which properties ofboth individual multimedia elements and an ensemble of multimediaelements can be edited to alter the presentation of those multimediaelements.

SUMMARY OF THE INVENTION

The invention provides a system for entry and modification of multimediaelements for communication and presentation. Abbreviations, eachcomprising a sequence of one or more keystrokes or mouse actions (suchas the typed word “flower”) are associated with individual multimediaelements (such as a picture of a flower), so that a human operator canenter those multimedia elements using a keyboard or mouse. Eachmultimedia element has properties (such as size, complexity, or detail),which can be modified once the multimedia element has been entered (suchas altering the flower from a relatively smaller picture to a relativelylarger picture). The set of individual multimedia elements is collectedinto an ensemble, which can itself have properties that can be modified.One such property of the ensemble is a “theme,” which applies to aplurality of multimedia elements in the ensemble and presents a variantof each multimedia element consistent with the theme (such asrepresenting the flower as a cactus in a “Western” theme, or as a rosein a “Romantic” theme).

In a preferred embodiment, the multimedia editor is included with acommunication system for sending and receiving electronic chat andelectronic mail messages in real time, and for presenting web documentsin a compressed form. Each multimedia element can include text, sound,pictures, animation, program fragments (such as a Java applet, a pointerto a database retrieval engine, or a uniform resource locator, alsoknown as URL), or a combination or compilation thereof. When a senderenters an abbreviation, an associated multimedia element is transmittedas an electronic chat message or constructed for transmission as anelectronic mail message; the choice of associated multimedia element canbe responsive to a receiver's capability, and can be selected at thereceiver dynamically in response to user actions (such as time taken tolook at the multimedia element). The sender can also transmit a theme;multimedia objects are presented to the recipient using the sender'stheme, or can be overridden to use a different theme. If the multimediaobjects associated with the abbreviations are available at the recipientor at a common server, electronic chat messages, electronic mailmessages, and web documents can be compressed and transmitted using onlythe abbreviations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a system for multimedia communicationand presentation.

FIG. 2 shows a flow diagram of a method for multimedia communication andpresentation.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

In the following description, a preferred embodiment of the invention isdescribed with regard to preferred process steps and data structures.Those skilled in the art would recognize after perusal of thisapplication that embodiments of the invention can be implemented usinggeneral purpose processors or special purpose processors adapted toparticular process steps and data structures described herein, and thatimplementation of the process steps and data structures described hereinwould not require undue experimentation or further invention.

System Elements

FIG. 1 shows a block diagram of a system for multimedia communicationand presentation.

A system 100 includes a plurality of client stations 110, each capableof executing client software 111 such as an electronic chat client or anelectronic mail client, and a server station 120, capable of executingserver software 121 such as an electronic chat server or an electronicmail server. The client stations 110 and the server station 120 arecoupled using a communication network 130.

In a preferred embodiment, the client stations 110 and the serverstation 120 communicate using a known communication protocol, such asPOP (post office protocol) or SMTP (simple mail transfer protocol). Theclient stations 110 and the server station 120 use the knowncommunication protocol for transmitting electronic mail messages, HTTP(hypertext transfer protocol) for transmitting web documents, and otherknown communication protocols for transmitting electronic chat messages.

As used herein, the terms “client” and “server” refer to a relationshipbetween the client station and the server station, not necessarily toparticular physical devices. As used herein, one “client station” or one“server station” can comprise any of the following: (a) a singlephysical device capable of executing software which bears a client orserver relationship to another station; (b) a portion of a physicaldevice, such as a software process or set of software processes capableof executing on one hardware device, which portion of the physicaldevice bears a client or server relationship to another station; or (c)a plurality of physical devices, or portions thereof, capable ofcooperating to form a logical entity which bears a client or serverrelationship to another station. The phrases “client station” and“server station” refer to such logical entities and not necessarily toparticular individual physical devices.

Each client station 110 includes a processor, program and data memory,and mass storage (such as a magnetic or optical disk drive). Each clientstation 110 includes a set of input peripherals 112, including acharacter input element (such as a keyboard) and a graphic input element(a pointing device such as a mouse, pen, or trackball), and a set ofoutput peripherals 113, including a visual display element (such as amonitor or printer) and an audio presentation element (such as a set ofspeakers).

Abbreviations for Multimedia Elements

The mass storage includes a database 114, including a set ofabbreviations 115, a set of multimedia objects 116, and a set ofassociations 117 therebetween.

Each abbreviation 115 includes a selected sequence of keystrokes (suchas typed characters) and/or mouse actions (such as left-button clicks,right-button clicks, and double-clicks). In a preferred embodiment, theabbreviations 115 comprise mnemonic names, such as typed words like“flower” to represent a picture of a flower, “foghorn” to represent asound clip of a foghorn, and the like, but an operator at the clientstation 110 can also define new abbreviations 115, such as the name of afavorite dog to represent a picture of that dog, even though that namecan comprise an arbitrary sequence of characters.

Each multimedia object 116 includes a data element for use withmultimedia presentation, such as a text element, an audio element (suchas a sound clip in AU or WAV form), a graphical element, a pictureelement (such as a picture in GIF or JPEG form), or an animation orvideo element (such as a movie clip in AVI or MPEG form). The multimediaobjects 116 can also include data elements such as databases, programfragments (such as Java applets or ActiveX hooks, CGI (common gatewayinterface) scripts, or a qualified URL), or special document formats(such as a document in Adobe PDF format).

Each association 117 includes a link between an abbreviation 115 and atleast one multimedia object 116, so that the client station 110 candetect the abbreviation 115 and locate the multimedia object 116 inresponse thereto.

When an operator of the client station 110 enters sequences ofkeystrokes and/or mouse actions, the client station 110 examines thedatabase 114 and determines when one of the abbreviations 115 isentered. When the client station 110 detects a particular abbreviation115, the client station 110 notes the particular association 117 coupledto that particular abbreviation 115, and determines the (at least one)particular multimedia object 116 associated with that particularabbreviation 115. The client station 110 thereby replaces thatparticular abbreviation 115 with its associated multimedia object 116.

In the case that there is more than one multimedia object 116 associatedwith that particular abbreviation 115, the client station 110 can selectone of those associated multimedia objects 116 in one of several ways:

-   -   The client station 110 can select one of those associated        multimedia objects 116 at random.    -   The client station 110 can select one of those associated        multimedia objects 116 on a round-robin basis.    -   The client station 110 can present two or more of those        associated multimedia objects 116 to the operator and ask the        operator to select one.

After replacing the abbreviation 115 with its associated multimediaobject 116 in the sequence, the client station 110 transmits an alteredmultimedia sequence (that is, with the replacement having been made) tothe server station 120, such as for transmission to a destination clientstation 110 as an electronic chat message or an electronic mail message.The electronic chat message or electronic mail message thus includes thealtered multimedia sequence, some of which has been replaced and some ofwhich has not been replaced. The server station 120 transmits themultimedia sequence to the destination client station 110 using anelectronic chat protocol or an electronic mail protocol. The destinationclient station 110 receives the multimedia sequence and presents themultimedia elements (along with the unreplaced portions of the sequence)to an operator at the destination client station 110.

In a preferred embodiment, the client station 110 can replace aparticular abbreviation 115 with a multimedia object 116 comprising aparticular program fragment in one of at least two ways:

-   -   The client station 110 can insert that program fragment into the        multimedia sequence, so that the destination client station 110        receives the program fragment for execution.    -   The client station 110 can execute that program fragment        directly, so that the destination client station 110 receives        the multimedia sequence after operation thereupon by the        particular program fragment.

In a preferred embodiment, the multimedia objects 116 can be createdusing multimedia capture and editing software, such as for scanningpictures and editing those pictures, recording sound clips and editingthose sound clips, or for creating and/or editing animation sequences.

In a preferred embodiment, the multimedia objects 116 can be located atthe client station 110, at the server station 120, or at another devicecoupled to the network 130 and accessible by either the client station110 or the server station 120. If located remotely from the clientstation 110, the multimedia objects 116 can be cached at the clientstation 110, in the database 114 or otherwise, for use as describedherein.

The abbreviations 115 and the associations 117 can be created using atext editor (or similar software for entering and editing informationcomprising keystrokes), designating the particular sequences ofkeystrokes and/or mouse actions which comprise the abbreviations 115 andnames of those multimedia objects 116 pointed to by their associations117.

The abbreviations 115 and the associations 117 can also be located atthe client station 110, at the server station 120, or at another devicecoupled to the network 130 and accessible by either the client station110 or the server station 120. If located remotely from the clientstation 110, the multimedia objects 116 can be cached at the clientstation 110, in the database 114 or otherwise, for use as describedherein.

Hierarchy of Multimedia Objects

In a preferred embodiment, at least some abbreviations 115 areassociated with a plurality of multimedia objects 116 arranged in asequence or hierarchy. The hierarchy of multimedia objects 116 includesa set of variants of a core multimedia object 116 (not necessarily aparticular single multimedia object 116), differing with regard to a setof parameters such as size, complexity, or detail.

For example, the typed word “flower” can comprise an abbreviation 115and can be associated with a hierarchy of multimedia objects 116representing flowers, including a stylized graphic of a flower, arelatively small photographic picture of a flower, a relatively largephotographic picture of a flower, an animation of a flower, and anapplet for emulating a flower (including being responsive to localweather reports).

When the operator enters the abbreviation 115, the client station 110can offer the operator an opportunity to select among the hierarchy ofmultimedia objects 116 representing flowers. The client station 110 canalso offer the operator an opportunity to alter the selection, eitherusing a separate set of editing commands for the multimedia object 116,or using one or more abbreviations 115 associated with one or more ofthose editing commands.

For example, when the operator enters a particular multimedia object 116using the typed word “flower”, the client station 110 retainsinformation about the properties of that multimedia object 116,including properties in the hierarchy of those multimedia objects 116associated with that particular abbreviation 115. The client station 110can alter the particular multimedia object 116 so as to select adifferent one of those multimedia objects. 116 associated with thatparticular abbreviation 115.

Similarly, the client station 110 can replace the abbreviation 115 withthe entire hierarchy of those multimedia objects 116, including adescription of its set of properties, so that the entire hierarchy ofthose multimedia objects 116 is transmitted to the destination clientstation 110. The destination client station 110 can select one of thosemultimedia objects 116 associated with that particular abbreviation 115for presentation, and can allow the operator of the destination clientstation 110 to alter the particular multimedia object 116 so as toselect a different one of those multimedia objects 116 associated withthat particular abbreviation 115.

In a preferred embodiment, the destination client station 110 can selectone of those multimedia objects 116 associated with that particularabbreviation 115 in the following ways:

-   -   The destination client station 110 can ask the operator of the        destination client station 110 to choose one of those multimedia        objects 116.    -   The destination client station 110 can select one of those        multimedia objects 116 responsive to capabilities of the client        station 110.    -   The destination client station 110 can select one of those        multimedia objects 116 responsive to preferences known for the        operator.    -   The destination client station 110 can select one of those        multimedia objects 116 responsive to actions by the operator,        such as an amount of time the operator uses viewing that        multimedia object 116. For example, the destination client        station 110 can alter the selected multimedia object 116 to        present more detail when the operator uses more time viewing        that multimedia object 116.        Ensemble of Multimedia Objects

In any particular object, the set of individual multimedia objects 116used therein is collected into an ensemble, which can itself haveproperties that can be modified. One such property of the ensemble is a“theme,” which applies to a plurality of multimedia elements in theensemble and presents a variant of each multimedia element consistentwith the theme.

For example, in an ensemble of multimedia objects 116, those multimediaobjects 116 representing flowers could each be represented as a pictureof a cactus when the theme is a “Western” theme, or could each berepresented as a picture of a rose when the theme is a “Romantic” theme.Similarly, in that same ensemble, those multimedia objects 116representing hats could each be represented as a picture of a cowboy hatwhen the theme is a “Western” theme, or could each be represented as apicture of a helmet when the theme is a “Military” theme. Example themescould include an “Ancient” theme, a “Gothic” theme, a “Military” theme,a “Modern” theme, an “MTV” theme, a “Romantic” theme, a “Western” theme,or other themes known in art or literature.

Altering the theme for an ensemble would thus alter the presentation ofeach multimedia object 116 that is linked to the theme for thatensemble. The theme can also be associated with multimedia objects 116that are not specifically entered using abbreviations 115, such as abackground multimedia object 116 for the ensemble.

When the operator enters a particular data object that might include oneor more multimedia objects 116, the client station 110 can offer theoperator an opportunity to select a theme for that object. The clientstation 110 can also offer the operator an opportunity to alter theselection, either using a separate set of editing commands for themultimedia object 116, or using one or more abbreviations 115 associatedwith one or more of those editing commands.

When the operator enters a particular abbreviation 115, the clientstation 110 can select among the hierarchy of multimedia objects 116 tofind one associated with the theme for the ensemble. The client station110 can also offer the operator an opportunity to alter the selection soas to make that multimedia object 116 either more or less consistentwith the theme, either using a separate set of editing commands for themultimedia object 116, or using one or more abbreviations 115 associatedwith one or more of 1o those editing commands.

For example, when the operator enters a particular data object, such asan electronic chat message or an electronic mail message, the clientstation 110 retains information about the properties of that dataobject, including its theme. For each multimedia object 116 in the dataobject, the client station 110 retains information about whether thatmultimedia object 116 uses the global theme for the data object, or hasa specific different theme.

Similarly, if the client station 110 can replace the abbreviation 115with the entire hierarchy of those multimedia objects 116, the clientstation 110 can indicate which theme the abbreviation 115 is to berepresented with. The destination client station 110 can select onetheme for those multimedia objects 116 associated with that particularabbreviation 115 for presentation, and can allow the operator of thedestination client station 110 to alter the theme, and so alter thepresentation of that particular multimedia object 116.

In a preferred embodiment, the destination client station 110 can selectthe theme for each multimedia object 116 in the following ways:

-   -   The destination client station 110 can use the theme indicated        by the sending client station 110.    -   The destination client station can ask the operator of the        destination client station 110 to choose a theme.    -   The destination client station 110 can select a theme responsive        to known preferences of the operator of the destination client        station 110.        Compression of Multimedia Objects

In an aspect of the invention, when the abbreviations 115, multimediaobjects 116, and associations 117 are available both to the sendingclient station 110 and to the destination client station 110, dataobjects including multimedia objects 116 can be compressed whentransmitting those data objects from the sending client station 110 tothe destination client station 110.

In this aspect of the invention, the sending client station 110 examinesa data object in a message (such as an electronic mail message or a webdocument) to be transmitted from the sending client station 110 to thedestination client station 110. When the data object includes aparticular multimedia object 116 for which there is an association 117with a particular abbreviation 115, the sending client station 110replaces that multimedia object 116 in the data object with itsassociated abbreviation 115. The data object is thereby compressed intoa more compact form.

The sending client station 110 transmits the message, including thecompressed data object, to the server station 120, which transmits themessage, including the compressed data object, to the receiving clientstation 110. The receiving client station 110 examines the compresseddata object in the message, replaces each abbreviation 115 with itsassociated multimedia object 116, and presents the message, includingthe original data object, to an operator.

In alternative embodiments, the multimedia objects 116 can be availableat a remote device coupled to the network 130, and the receiving clientstation 110 can cache those multimedia objects 116 or obtain them asneeded.

In alternative embodiments, the abbreviations 115 and the associations117 can be transmitted with the message and the compressed data object.

Behavior Associated with Abbreviations

Each multimedia object 116 can include a program fragment, such as aJava applet, a CGI script for accessing a local database, or a URL foraccessing a remote data object. More generally, each abbreviation 115can be associated with a sequence of behavior, such as performed byexecuting a Java applet as the associated multimedia object 116.

For example, an abbreviation such as the typed word “sales” could beassociated with a multimedia object 116 including a Java applet or CGIscript for accessing a local database, retrieving a value for totalsales, and inserting that value into the data object in which theabbreviation 115 is found.

In a preferred embodiment, a library includes such abbreviations 115,multimedia objects 116 including program fragments, and associations117; and that library is available at the client station 110 or at aremote device coupled to the network 130.

Method of Operation

FIG. 2 shows a flow diagram of a method for multimedia communication andpresentation.

A method 200 includes a set of flow points to be noted, and steps to beexecuted, cooperatively by the system 100, including the sending clientstation 110, the server station 120, and the destination client station110.

At a flow point 210, an operator at a particular client station 110 isready to enter a data object intended to include multimedia objects 116for communication or presentation. The data object can comprise anelectronic chat message, an electronic mail message, a file object, aweb document, or another type of data object known in the disparate artsof computer science.

For example, the data object can comprise an electronic chat messagebeing composed at a keyboard in real time.

At a step 221, the operator at the client station 110 enters a sequenceof keystrokes and mouse actions, such as using a text editor or similarapplication program for entry of text objects.

For example, the operator at the client station 110 can type a sequenceof printable text characters.

At a step 222, the client station 110 examines the sequence ofkeystrokes and mouse actions, and examines its database 114, so as todetect and locate any abbreviations 115 in the entered sequence ofkeystrokes and mouse actions.

For example, a particular abbreviation 115 can comprise the typed word“flower”.

If the client station 110 detects any abbreviations 115, it continueswith the next step. Otherwise, it continues with the flow point 230.

At a step 223, the client station 110 examines the properties of anyassociated ensemble of multimedia objects 116; and determines whetherany such properties affect presentation of any multimedia objects 116associated with the detected abbreviations 115. In particular, theclient station 110 determines if there is a theme associated with anysuch ensemble, and further determines if any such theme affectspresentation of any multimedia objects 116 associated with the detectedabbreviations 115.

For example, if the data object has an associated theme and the theme isa “Western” theme or a “Romantic” theme, the client station 110determines that the theme would affect presentation of a multimediaobject 116 associated with the abbreviation 115 the typed word “flower”(such as to select a picture of a cactus or a rose, respectively).

At a step 224, the client station 110 examines the associations 117 inthe database 114, and replaces the detected abbreviations 115 withassociated multimedia objects 116.

For example, the client station 110 could replace the typed word“flower” with a picture representing a flower.

At a step 225, the client station 110 determines if the associatedmultimedia objects 116 have properties to be determined which affectpresentation or which select among multiple associated multimediaobjects 116 in a hierarchy.

For example, the picture representing a flower can have a property“detail” which distinguishes among a stylized graphic of a flower, arelatively small photographic picture of a flower, a relatively largephotographic picture of a flower, an animation of a flower, and anapplet for emulating a flower.

If the client station 110 detects any properties to be determined, itcontinues with the next step. Otherwise, it continues with the flowpoint 230.

At a step 226, the client station 110 selects values for the propertiesof the multimedia objects 116. In a preferred embodiment, these valuescan be overridden by an operator at the client station 110 or at thedestination client station 110.

Similar to the steps 222 through 226, the sending client station 110 candetect multimedia objects 116 with associated abbreviations 115 andreplace those multimedia objects 116 with their associated abbreviations115 (and associated properties), so as to compress the data object.

At a flow point 230, the data object is ready for transmission from thesending client station 110 to one or more destination client stations110.

At a step 241, the sending client station 110 transmits the data objectto the server station 120 using the network 130 and a known transmissionprotocol.

For example, the server station 120 can comprise an electronic chatserver and the known transmission protocol can comprise an electronicchat transmission protocol. Similarly, the server station 120 cancomprise an electronic mail server and the known transmission protocolcan comprise an electronic mail transmission protocol.

At a step 242, the server station 120 transmits the data object to thedestination client station 110 using the network 130 and the knowntransmission protocol.

In alternative embodiments, the server station 120 may perform stepssimilar to the steps 222 through 226, so as to replace abbreviations 115known to the server station 120 with associated multimedia objects 116,or to replace multimedia objects 116 known to the server station 120with associated abbreviations 115 (and associated properties).

In alternative embodiments, the sending client station 110 may transmitthe data object directly to the destination client station 110 using thenetwork 130 and the known transmission protocol.

At a step 243, the destination client station 110 receives the dataobject and its included multimedia objects 116.

At a step 244, similar to the step 225, the destination client station110 determines if the associated multimedia objects 116 have propertiesto be determined which affect presentation or which select amongmultiple associated multimedia objects 116 in a hierarchy.

If the destination client station 110 detects any properties to bedetermined, it continues with the next step. Otherwise, it continueswith the step 246.

At a step 245, similar to the step 226, the destination client station110 determines if it should override values for the properties of themultimedia objects 116, such as if directed to by an operator at thedestination client station 110.

At a step 246, similar to the step 223, the destination client station110 examines the properties of any associated ensemble of multimediaobjects 116, determines if there is a theme associated with any suchensemble, and further determines if it should override that theme, suchas if directed to by an operator at the destination client station 110.

At a step 247, the destination client station 110 presents the dataobject and its included multimedia objects 116.

At a flow point 250, the data object has been received and presented toan operator at one or more destination client stations 110.

Alternative Embodiments

Although preferred embodiments are disclosed herein, many variations arepossible which remain within the concept, scope, and spirit of theinvention, and these variations would become clear to those skilled inthe art after perusal of this application.

What is claimed is:
 1. A computer implemented method comprising: storinga set of mnemonic names, associated with a set of multimedia objects,that includes a first mnemonic name associated with a first multimediaobject; receiving a sequence of control inputs that designates, contentof an electronic communication to be sent from a first user to a seconduser; identifying, in the received sequence of control inputs, anoccurrence of the first mnemonic-name; setting a theme for multimediaobjects that applies to a plurality of multimedia objects and presents avariant of each of the plurality of multimedia objects consistent withthe theme; determining a replacement of the identified occurrence of thefirst mnemonic name with the first multimedia object in the electroniccommunication based on a capability of a receiving device; andreplacing, in the electronic communication, the first mnemonic namepresent in the received sequence of control inputs with the firstmultimedia object; and sending the electronic communication includingthe first mnemonic name replaced with the first multimedia object to thesecond user.
 2. The computer implemented method of claim 1, wherein thefirst multimedia object has at least one editable property that isedited in the electronic communication responsive to receivingcorresponding input from the first user.
 3. The computer implementedmethod of claim 1, wherein the first multimedia object has at least oneeditable property that is edited in the electronic communicationresponsive to receiving corresponding input from the second user.
 4. Thecomputer implemented method of claim 3, further comprising conveying tothe first user an edit of the at least one editable property of thefirst multimedia object in the electronic communication made responsiveto input from the second user.
 5. The computer implemented method ofclaim 1, wherein the sequence of control inputs include keystrokes. 6.The computer implemented method of claim 1, wherein the sequence ofcontrol inputs include mouse actions.
 7. The computer implemented methodof claim 1, wherein the electronic communication includes either anemail message or a chat message.
 8. The non-transitory computer-readablemedium of claim 1, further comprising: identifying, in the receivedsequence of control inputs, an occurrence of a second mnemonic name; andreplacing the second mnemonic name in the received sequence of controlinputs with one of the more than one multimedia object determined by oneof random replacement, round-robin replacement, or presentation forselection.
 9. A system configured to enable entry and modification ofmultimedia elements in electronic communication, comprising: a databaseincluding a set of mnemonic names, associated with a set of multimediaobjects, that includes a first mnemonic name associated with a firstmultimedia object; and one or more processors in operative communicationwith the database, the one or more processors configured to: receive asequence of control inputs that designates content of an electroniccommunication to be sent from a first user to a second user, identify,in the received sequence of control inputs, an occurrence of the firstmnemonic name, set a theme for multimedia objects that applies to aplurality of multimedia objects and presents a variant of each of theplurality of multimedia objects consistent with the theme; determine areplacement of the identified occurrence of the first mnemonic name withthe first multimedia object in the electronic communication based on acapability of a receiving device, replace, in the electroniccommunication, the first mnemonic name with the first multimedia objectpresent in the received sequence of control inputs, send the electroniccommunication including the first mnemonic name replaced with the firstmultimedia object to the second user.
 10. The system of claim 9, whereinthe first multimedia object has at least one editable property, andwherein the one or more processors are further configured to edit the atleast one editable property in the electronic communication responsiveto receiving corresponding input from the first user.
 11. The system ofclaim 9, wherein the first multimedia object has at least one editableproperty, and wherein the one or more processors are further configuredto edit the at least one editable property in the electroniccommunication responsive to receiving corresponding input from thesecond user.
 12. The system of claim 11, wherein the one or moreprocessors are further configured to convey to the first user an edit ofthe at least one editable property of the first multimedia object in theelectronic communication made responsive to input from the second user.13. The system of claim 9, wherein the sequence of control inputsinclude keystrokes.
 14. The system of claim 9, wherein the sequence ofcontrol inputs include mouse actions.
 15. The system of claim 9, whereinthe electronic communication includes either an email message or a chatmessage.
 16. A non-transitory computer-readable medium storingexecutable instructions that, when executed, cause a computer to performoperations comprising: storing a set of mnemonic names, associated witha set of multimedia objects, that includes a first mnemonic nameassociated with a first multimedia object; receiving a sequence ofcontrol inputs that designates, content of an electronic communicationto be sent from a first user to a second user; identifying, in thereceived sequence of control inputs, occurrences of the first mnemonicname; setting a theme for multimedia objects that applies to a pluralityof multimedia objects and presents a variant of each of the plurality ofmultimedia objects consistent with the theme; determining a replacementof the identified occurrence of the first mnemonic name with the firstmultimedia object in the electronic message based on a user selection ofthe first multimedia object; replacing, in the electronic communication,the identified occurrence of the first mnemonic name in the receivedsequence control inputs with the first multimedia object; and sendingthe electronic communication including the first mnemonic name replacedwith the first multimedia object to the second user.
 17. Thenon-transitory computer-readable medium of claim 16, further comprisingselecting the theme for the first multimedia object by the first user.18. The non-transitory computer-readable medium of claim 16, furthercomprising selecting the theme for the first multimedia object by thesecond user.
 19. A system configured to enable entry and modification ofmultimedia elements in electronic communication, comprising: a databaseincluding a set of mnemonic names, associated with a set of multimediaobjects, that includes a first mnemonic name associated with a firstmultimedia object; and one or more processors in operative communicationwith the database, the one or more processors being configured to:receive a sequence of control inputs that designates content of anelectronic communication to be sent from a first user to a second user,identify, in the received sequence of control inputs, an occurrence ofthe first mnemonic name, set a theme for multimedia objects that appliesto a plurality of multimedia objects and presents a variant of each ofthe plurality of multimedia objects consistent with the theme, determinea replacement of the identified occurrence of the first mnemonic namewith the first multimedia object in the electronic communication basedon a user selection of the first multimedia object, replace, in theelectronic communication, the first mnemonic name with the firstmultimedia object present in the received sequence of control inputs,and send the electronic communication including the first mnemonic namereplaced with the first multimedia object to the second user.